Spring Boot sql

一、漏洞简介

二、漏洞影响

三、复现过程

spring.datasource.tomcat.validationQuery=drop+table+users

许您指定任何SQL查询,它将针对当前数据库自动执行。它可以是任何语句,包括插入,更新或删除。

spring.datasource.tomcat.url=jdbc:hsqldb:https://localhost:3002/xdb

允许您修改当前的JDBC连接字符串。

最后一个看起来不错,但是问题是当运行数据库连接的应用程序已经建立时,仅更新JDBC字符串没有任何效果。希望在这种情况下,还有另一个属性可以对我们有所帮助:

spring.datasource.tomcat.max-active=777

我们可以在此处使用的技巧是增加到数据库的同时连接数。因此,我们可以更改JDBC连接字符串,增加连接数,然后将许多请求发送到应用程序以模拟繁重的负载。在负载下,应用程序将使用更新的恶意JDBC字符串创建新的数据库连接。我在Mysql本地对这项技术进行了测试,它的工作原理就像一个魅力。

除此之外,还有其他一些看起来有趣的属性,但实际上并没有真正的用处:

spring.datasource.url

数据库连接字符串(仅用于第一个连接)

spring.datasource.jndiName

数据库JNDI字符串(仅用于第一个连接)

spring.datasource.tomcat.dataSourceJNDI

数据库JNDI字符串(根本不使用)

spring.cloud.config.uri=http://artsploit.com/

spring cloud配置url(在应用程序启动后不起任何作用,只使用初始值。)